package com.d4a5.mapping.google
{
	import com.google.maps.LatLng;
	import com.google.maps.Map;
	import com.google.maps.interfaces.IMap;
	import com.google.maps.interfaces.IOverlay;
	import com.google.maps.interfaces.IPane;
	import com.google.maps.interfaces.IPaneManager;
	import com.google.maps.wrappers.EventDispatcherWrapper;
	import com.google.maps.wrappers.Wrapper;
	import com.google.maps.wrappers.WrapperBase;
	
	import flash.geom.Point;
	import flash.geom.Rectangle;
	
	import mx.core.Container;
	
	public class wmgPane extends EventDispatcherWrapper implements IPane
	{
		
		public function wmgPane( map:Map )
		{
			return;
		}// end function
		
		public function getViewportBounds() : Rectangle
		{
			Wrapper.checkValid(this.instance);
			return this.instance.getViewportBounds();
		}// end function
		
		override public function get interfaceChain() : Array
		{
			return ["IPane"];
		}// end function
		
		public function updatePosition(param1:Boolean = false) : void
		{
			Wrapper.checkValid(this.instance);
			this.instance.updatePosition(param1);
			return;
		}// end function
		
		public function fromProjectionPointToPaneCoords(param1:Point) : Point
		{
			Wrapper.checkValid(this.instance);
			return this.instance.fromProjectionPointToPaneCoords(param1);
		}// end function
		
		public function get id() : uint
		{
			Wrapper.checkValid(this.instance);
			return this.instance.id;
		}// end function
		
		public function get paneManager() : IPaneManager
		{
			Wrapper.checkValid(this.instance);
			return Wrapper.instance().wrapIPaneManager(this.instance.paneManager);
		}// end function
		
		public function removeOverlay(param1:IOverlay) : void
		{
			Wrapper.checkValid(this.instance);
			this.instance.removeOverlay(this.extWrapper.wrapIOverlay(param1));
			return;
		}// end function
		
		public function fromPaneCoordsToLatLng(param1:Point, opt_nowrap:Boolean = false ) : LatLng
		{
			Wrapper.checkValid(this.instance);
			return Wrapper.instance().wrapLatLng(this.instance.fromPaneCoordsToLatLng(param1,opt_nowrap));
		}// end function
		
		public function invalidate() : void
		{
			Wrapper.checkValid(this.instance);
			this.instance.invalidate();
			return;
		}// end function
		
		public function fromLatLngToPaneCoords(param1:LatLng, param2:Boolean = false) : Point
		{
			Wrapper.checkValid(this.instance);
			return this.instance.fromLatLngToPaneCoords(this.extWrapper.wrapLatLng(param1), param2);
		}// end function
		
		public function set paneManager(param1:IPaneManager) : void
		{
			Wrapper.checkValid(this.instance);
			this.instance.paneManager = this.extWrapper.wrapIPaneManager(param1);
			return;
		}// end function
		
		public function clear() : void
		{
			Wrapper.checkValid(this.instance);
			this.instance.clear();
			return;
		}// end function
		
		public function bringToTop(param1:IOverlay) : void
		{
			Wrapper.checkValid(this.instance);
			this.instance.bringToTop(this.extWrapper.wrapIOverlay(param1));
			return;
		}// end function
		
		public function get map() : IMap
		{
			Wrapper.checkValid(this.instance);
			return Wrapper.instance().wrapIMap(this.instance.map);
		}// end function
		
		public function get visible() : Boolean
		{
			Wrapper.checkValid(this.instance);
			return this.instance.visible;
		}// end function
		
		public function set visible(param1:Boolean) : void
		{
			Wrapper.checkValid(this.instance);
			this.instance.visible = param1;
			return;
		}// end function
		
		public function fromPaneCoordsToProjectionPoint(param1:Point) : Point
		{
			Wrapper.checkValid(this.instance);
			return this.instance.fromPaneCoordsToProjectionPoint(param1);
		}// end function
		
		public function addOverlay(param1:IOverlay) : void
		{
			Wrapper.checkValid(this.instance);
			this.instance.addOverlay(this.extWrapper.wrapIOverlay(param1));
			return;
		}// end function
	}
}